%Ce document est sous licence Common-Creative : http://creativecommons.org/licenses/by-nc-sa/2.0/fr

\documentclass[a4paper,12pt,oneside]{report} % définition des différents parametres. Le dernier peut-être de type report ou article (modifie le chapitrage)
\usepackage[francais]{babel} %déclaration de la langue du document
\usepackage[utf8x]{inputenc} %déclaration du jeu de caractéres à utiliser
\usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry} %permet de modifier les marges
\usepackage[pdftex]{graphicx} %package nécessaire pour l'insertion d'images
\usepackage{graphics} %package nécessaire pour l'insertion d'images
\usepackage{wrapfig} %package nécessaire pour l'insertion d'images
\usepackage{array} % meilleur gestion des tableaux
\usepackage{xcolor}
\usepackage{shorttoc}
\usepackage{pdfpages}
\usepackage{glossary}
\usepackage{array}
\usepackage{caption}
\usepackage{float}
\usepackage{vmargin}
\usepackage{algorithm, algorithmic}

\makeglossary

\newcommand{\cita}[2]{\footnote{\cite[#1]{#2}, cf page \pageref{bib}.}}

\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

\title{Rapport de cryptographie} %titre du document
\author{Michael GRANDIN} %auteurs du document

\begin{document}
    \begin{titlepage}
    \begin{center}
        % Partie supérieure de la page
        
        \textsc{\Large IUT de Belfort-Montbéliard}\\[1.0cm]
    
        \textsc{\Large Cryptographie}\\[0.5cm]


        % Titre
        \HRule \\[0.4cm]
        { \huge \bfseries Les méthodes cryptages}\\[0.4cm]

        \HRule \\[0.4cm]
        \vfill


        {\large Année Universitaire 2009-2010}
    \end{center}
    \end{titlepage}

%\sommaire %insertion du sommaire crée grâce à shorttoc

\newpage

\chapter*{Introduction}
    \addcontentsline{toc}{chapter}{Introduction}
    De nos jours la cryptographie est devenue quelque chose d'incontournable. L'essort de l'informatique a permi de forte avancés dans le domaine. Bien sûr la cryptographie est née beaucoup plus tôt que l'informatique, mais avant cela il etait difficile de reussir a casser un message codé.
    

\chapter{Approche de la cryptographie}
    \section{Historique}

    \section{Type de cryptage}
        \subsection{Symétrique}

        \subsection{Asymétrique}
            Elle a pour particularité l'utilisation de clées publique qui sont diffusées sur des serveurs de confiance. Mais ce cryptage génère également un clé privés que seul l'utilisateur possède et qu'il ne faut pas diffuser. Cette clée a la particularité de décodé un text qui a été crypté par la clé public. Avec ce système seul destinataire de la clé privé peut décoder un message qui lui ai envoyé.
        

    \section{Présentation de quelque algorithmes de cryptage}
        Voici une liste non exhaustive des différents cryptages les plus utilisés. Nous detaillerons les leur algorithme dans la partie suivante.
        \subsection{SHA1}
            
        \subsection{ElGamal}
            Il s'agit d'un algorithme de cryptage asymétrique qui se base sur l'utilisation des logarithmes discrets. Il a été crée par Taher Elgamal (d'ou le nom). Ce cryptage paraît fiable dans la mesure ou personne n'a encore déclaré l'avoir casser. Il est possible qu'il existe des moyens de casser l'algorithme et cela en résolvant le problème du logarithme discret. Cette méthode de cryptage s'avère moins fiable que RAS car elle est plus jeune mais elle présente l'avantage d'être libre et n'est sous la protection d'aucun brevet.

        \subsection{RSA}    
            RSA est un algorithme asymétrique de cryptage à clé publique. Découvert en 1977 et mis au point par Ron Rivest, Adi Shamir et Len Adleman (d'ou le sigle RSA) s'avère être à l'heure actuelle l'algorithme de cryptage le plus sûr. Il se base sur la factorisation de grand nombres premier.

\chapter{ElGamal}
    Pour la réalisation d'El Gamal un grand nombre d'outil mathématique vont nous être necessaire. Cette algorithme de cryptage asymétrique repose la l'exponentiation modulaire. Différement de RSA, la difficulté du problème pour décoder un message qui a été cryptage est de retrouver la puissance qui a élévé un nombre le tout modulo p (qui est un nombre premier). Le contexte sera le suivant. Une personne Y veut écrire à une personne X .Voici la démarche : \\
    \begin{itemize}
        \item D'abord pour que X puisse recevoir des messages crypter de la part de Y, il doit public sa clé public, et garder pour lui une clé privé nécessaire au décodage par la suite. On commence par générer un grand nombre premier p. La taille de ce nombre sera généré en fonction du nombre de bits souhaité par l'utilisateur(512 par exemple)
        \item Générer un nombre premier de 512 bits soit un nombre de maximum 155 chiffres n'est pas une chose concevable avec des algorithmes ordinaire ou il faudrait tester si tout les nombre en dessous p sont bien premier avec p. Pour cela on va utiliser miller-rabin qui est un algorithme heuristique pour la détermination des nombres premiers. C'est à dire que cette algorithme dit très souvent la vérité, mais il statistiquement possible qu'il se soit trompé. Mais cette chance est infime et donc négligeable.\\
        L'exponentiation modulaire
        Miller-Rabin fonctionne comme tel. On choisi un nombre d'itération maximum $k$ que l'on veut faire autour de ce nombre premier. En génréral 50 itérations sont largements suffisante. Puis on pose $p$ de tel sorte que $p-1 = 2^s * d $. Il faut que $s$ soit une puissance positive et entière et $d$ doit être un nombre impaire.
        On calcule donc $p-1$ par calcule successif en incrementant $s$ de 1 pendant que l'ont divise $d$ par 2.
        Pour chaque itération $k$ on tire un nombre aléatoire compris entre 1 et $p-1$ puis on effectue une exponentionation modulaire de $p$ avec $a^d$.
        Si le resultat trouvé est égal à 1 ou $-1$ on l'ajoute au temoin de miller. Si à la fin des $k$ itérations on obtient que le temoin est égal a $k$ alors il n'est pas premier, sinon il a de forte chance d'y être.
 
        
    \end{itemize}  

\chapter{RSA}

\chapter{SHA1}


	%\listoffigures
    \addcontentsline{toc}{chapter}{Annexes}
	\addcontentsline{toc}{section}{Liste des figures}

    \newpage
    \addcontentsline{toc}{chapter}{Table des matières}
	\tableofcontents %insertion de la table des matières
	\newpage %nouvelle page pour avoir la table des matières sur une page :)


\end{document}
